java中 '||' 和‘|’的区别是什么,比如说b = i < 10 | methodB (4);b = i > 10 || methodB (8);

来源:百度知道 编辑:UC知道 时间:2024/06/18 04:11:21
我在运行的时候
b = i < 10 | methodB (4);
不管前面的为真或为假methodB (4);都会执行 这是为什么

|是位运算,二进制里的概念,比如 A>1|B>3 两边都要运算出来再判断
||是逻辑运算,类似我们平常的逻辑思维,前面都不成立了,后面就不理会了,直接跳过。

||是短路运算,如果||的前一个表达式为真,就不会在去判断第二个表达式的值了,而|会再判断第二个表达式的值

使用||时,如果前面的满足了就不判断(执行)后面的了。

短路运算||,教|要效率要高一点点